/**
 * 
 */
package com.zaprit.search.support;

import java.util.List;
import java.util.Properties;

import com.rdo.util.search.FacetedSearchCriteria;
import com.rdo.util.search.FacetedSearchResult;
import com.zaprit.search.bo.Item;
import com.zaprit.search.exception.SearchException;

/**
 * @author Root
 */
public interface ZapritSearcher
{
	/**
	 * @param properties
	 * @throws SearchException
	 */
	public void setProperties(Properties properties) throws SearchException;

	/**
	 * @param scopeId
	 * @param userId
	 * @param facetedSearchCriteria
	 * @return FacetedSearchResult<List<Item>>
	 * @throws SearchException
	 */
	public FacetedSearchResult<List<Item>> searchItems(String scopeId, String userId, FacetedSearchCriteria<String> facetedSearchCriteria)
			throws SearchException;
}
